#include <head.h>
/*
*打开目录opendir
    #include <dirent.h>
    DIR *opendir(const char *name);

    功能：
        打开指定的路径，并返回一个指向该目录的指针，以供后续读取目录内容使用
    参数：
        const char *name：目录的路径名，可以是相对路径或绝对路径
    返回值：
        成功：返回一个指向已打开目录‘DIR’结构体指针
        失败：返回‘NULL’，并设置‘errno’来指示错误

*读取目录readdir
    #include <dirent.h>
    struct dirent *readdir(DIR *dirp);

    功能：
        读取由'opendir()'打开的目录流中的下一个目录条目
    参数：
        DIR *dirp:通过'opendir()'返回的目录指针
    
    返回值：
        成功：返回一个指向'struct dirent'结构体的指针，表示下一个目录项的信息
        失败：如果读取到目录末尾或发生错误，返回'NULL'.如果返回值为'NULL',
             需要通过 `errno` 判断是到达了目录末尾（`errno` 未被设置）还是发生了错误。

*关闭目录closedir
    #include <dirent.h>
    int closedir(DIR *dirp);

    功能：
        关闭'opendir()'打开的目录流，并释放由'opendir()'返回的
    参数：
        DIR *dirp:指向要关闭的目录流的指针，通常是由'opendir()'返回的
    返回值：
        成功：返回0
        失败：返回-1，并设置'errno'来指示错误原因
*/

int main(int argc, const char *argv[])
{
    //打开当前目录
    DIR *dir = opendir(".");
    if(dir==NULL)
    {
        perror("无法打开目录");
        return 1;
    }
    struct dirent *entry;
    //读取目录中的每个条目
    while((entry = readdir(dir)) != NULL)
    {
        printf("文件名：%s\n",entry->d_name);
    }
    //关闭目录
    closedir(dir);
    return 0;
}